#ifndef  JPG_H
#define  JPG_H

#include <iostream>
#include <string.h>
#include <cstdlib>
#include <cerrno>
#include <fstream>
#include <sys/stat.h>
#include <vector>
#include <memory>
#include <cstring>
#include <algorithm>  
#include <cstdlib> // 为了使用 std::srand 和 std::rand  
#include <ctime>   // 为了使用 std::time 
#include <unistd.h>

#include "jpeglib.h"
#include "lcd.h"
using namespace std;

class JPG
{
    string jpgname;
    int x;
    int width;
    int height;
    int bpp;
    int size;      //从文件中得到图片数据大小
    int rgbsize;   //解码后获得
    char *jpgdata; //原始数据
    char *jpgmen;  //解码后数据
    char *jpgplay; //存放需要显示在lcd上的数据
    vector<vector<int> > win;  //用来判断胜利条件
    vector<vector<int> > win2; //用来和win作比较
    vector<vector<char*> > pz; //用来存放图片碎片
public:
    JPG(){};
    JPG(const string filename,LCD &lcd,int x);
    ~JPG();
    void jpg2rgb();
    void showinfo(){
        cout << "图片文件名" << jpgname << endl;
        cout << "图片数据大小" << size << endl;
        cout << "图片大小" << width << "x" << height << endl;
    }
    void keep(LCD &lcd);
    void display(LCD &lcd);
    void management(LCD &lcd);
    void playman(LCD &lcd);
    void randomize();
    void move(int a,int b,LCD &lcd);
    void move2(int a,int &b,int &c);
    bool ifwin();
};



#endif